Techniques for carrying voice and multimedia calls over Internet-Protocol-based transport networks (whether access or core) are still being developed, and several problem areas that require addressing still exist. One such area is quality of service (QoS). Differentiated services (RFC 2475) can separate classes of traffic, but is unable to make resource reservations for the traffic. While network edge devices can control the amount of calls they admit into the network, congestions can still occur on bottleneck links in the uncontrolled part of the network. Reservation based protocols such as Resource ReSerVation Protocol (RSVP), RFC 2205, can handle this situation, but on the other hand, they introduce unacceptable complexity and overhead into the network.
Measurement based call admission control (MBAC) algorithms can extend the control of the edge devices to complete paths in the network while at the same time keeping the complexity of the call admission control low. Path-based MBAC algorithms measure the QoS characteristics (e.g. packet loss, jitter) of network paths between pairs of edge nodes by monitoring the traffic generated by ongoing user sessions (e.g. voice conversations). The protocols most commonly used for such tasks are the Real Time Protocol (RTP) and the Real Time Control Protocol (RTCP).
Information regarding the QoS experienced by ongoing calls between each edge node (media gateway) pair can be utilized by edge nodes to influence the routing or admission of newly arriving calls.
Another case where it would be desirable for edge nodes to influence routing or admission is the IP based Systems Architecture Evolution (beyond 3G) network. In this type of network, it is supposed that there will be a layer 3 (IP) network between the base stations (eNodeB) and the gateways (GSN+ or SAE-GW) carrying mostly voice and streaming traffic.
In a network, when a link utilization approaches 100% on a bottleneck link in a core network path, a delay and delay variation experienced by a voice call increases rapidly and packet loss may occur, leading to a degradation in voice quality, and so a reduced user experience.
Voice quality of a voice call can be defined using either subjective or objective methods. The subjective method, which consists of asking a group of people to evaluate each situation and averaging the results, describes the quality with MOS (Mean Opinion Score). This is a vital approach but the results are difficult to reproduce and they scatter considerably for different languages.
An objective method, such as Perceptual Evaluation of Speech Quality (PESQ), provides reproducible and comparable results for a given codec and network situation. Its operation is based on the comparison of the original and the encoded audio, taking into consideration the properties of human hearing. Both MOS and PESQ are expressed on a scale from 1 to 5. The PESQ values correspond well to the MOS values. The interpretation of the different scores is given in Table 1.
TABLE 1Interpretation of PESQ valuesUser satisfactionMOS [PESQ]Subjective valueVery satisfied4.3-5.0DesirableSatisfied4.0-4.3Some users dissatisfied3.6-4.0AcceptableMany users dissatisfied3.1-3.6Not acceptable for tollNearly all users dissatisfied2.6-3.1qualityNot recommended1.0-2.6
Codecs are affected in different ways by network problems, such as packet loss, delay and delay variance (jitter). The most frequently used audio codecs, which are in use in VoIP systems, are shown in Table 2. These codecs are all standardized by ITU.
TABLE 2Frequently used voice codecsCodecEncoding techniqueG.711Pulse Code Modulation (PCM) with A- or μ-lawcharacteristicG.723.1 (5.3)Algebraic-Code-Excited Linear PredictionG.723.1 (6.3)(ACELP) Multi-pulse Maximum LikelihoodQuantization (MP-MLQ)G.726Adaptive Differential Pulse Code Modulation(ADPCM)G.728Low-Delay Code Excited Linear Prediction(LD-CELP)G.729Conjugate-Structure Algebraic-Code-ExcitedLinear Prediction (CS-ACELP)
Some important characteristics of the above codecs are summarized in Table 3.
TABLE 3Codec CharacteristicsQuality atSilenceNetPayload1% packetCompres-bandwidthsamplingDelayQualitylosssion (SC)Codec[kbps]time [ms][ms][PESQ][PESQ]supportedG.7116410/20/<14.454.13No30/40G.723.15.330 383.633.58Yes6.33.763.70G.72616553.233.20No243.743.68324.093.98404.314.14G.728165104.043.95NoG.729810/20/153.813.73Yes30/40
Fractional packet loss (PL) is one of the key parameters that determines the audio quality. It is defined as:
                    PL        =                                            sent              ⁢                                                          ⁢              packets                        -                          received              ⁢                                                          ⁢              packets                                            sent            ⁢                                                  ⁢            packets                                              (        1        )            
Different codecs are sensitive to PL to different extents, but it is not the bit rate and compression ratio that are determinant in this aspect. For example, the original G.711 has a weaker quality at over 4-5% PL than most modern low bit rate codecs. The reason for this is the application of packet loss concealment (PLC) algorithms that were not available for the original G.711 specification. As for G.729, the voice quality remains ‘acceptable’ (MOS is superior to 3.6) at over 1% PL if it is distributed randomly. Speech will remain comprehensible at up to 10% PL.
It is apparent that the advanced codecs can tolerate a slight packet loss easily, maintaining a good PESQ value. An example can be seen on FIG. 1, which shows a graph of audio quality of the G.729 codec as a function of packet loss.
Delay is also an essential parameter in user satisfaction. Factors affecting delay include the codec delay, the queuing delay in the network and the propagation of packets. Usually a delay of 100-150 ms is permissible in one direction, but the round-trip delay (RTD) must not exceed 250 ms.
This amount of delay can be easily avoided by using delay sensitive buffering and queuing on the routers along the voice path (e.g. DiffServ EF class). In this way, the delay won't be large, but fluctuation in the traffic can lead to packet loss earlier.
The main factors that must be addressed when developing a QoS algorithm are the stability (whether the system reaches a stable state, where an acceptable quality is coupled with good utilization) and the response time (whether it reaches this stable state fast enough after the call frequency changes).
The requirements for a successful QoS control algorithm are as follows:                1) It must offer good utilization in the long run even in a congested situation;        2) It must prevent unacceptable voice quality due to large over-utilization thus large packet loss on the bottleneck link(s);        3) It must not require large effort from the core network nodes (e.g. reservation, signalling, flow based packet scheduling), because of the huge number of active flows on such nodes; and        4) It should be able to deal with any kind of external traffic scenarios (e.g. focused overload, quickly fluctuating traffic, step overload).        
Several solutions for session QoS control methods have been developed, which all have their own advantages and problems. Some of these are described below:
a. Reservation-Based Scheme, Involving the Core Network Nodes.
Reservation based protocols (that require the participation of core network nodes) like RSVP are conservative, and intelligent ones that can meet requirements 1, 2 and 4 above.
On the other hand, such protocols fail to meet requirement 3, as they require far more complexity in the network nodes not only in the edge, but also in the core network. In the case of big core networks, the overhead caused by the signalling and the internal data processing requirements of such algorithms is unacceptable. There are several studies for solving, or at least minimizing this problem, but so far no suitable solution was found.
b. DiffServ in Multi-Service Networks and/or Over-Provisioning
Another approach is using DiffServ in the core network, which is a good solution in the case of multi-service networks carrying mostly best effort data (data sent with no guarantee of delivery). In this case, the bandwidth provided by the core network is much bigger than the needs of the voice traffic. As voice has priority over the best effort traffic, the full link bandwidth can be used to handle bursts in the voice traffic, so in this case packet loss can be avoided.
When it comes to networks used mainly by voice and other delay sensitive traffic (streaming for example) the situation is not so favourable. In this case the average utilization of bottleneck links should be low in order to control traffic peaks. This is known as over-provisioning, and meets requirements 2, 3 and in most cases 4. However, this solution leads to complex topology planning problems, and often to underutilized links due to over-provisioning adjusting the capacity of a link to a peak traffic load. To avoid that, while at the same time maintaining a “good enough” QoS level, the usage of dynamic, measurement-based CAC algorithms can be considered.
c. DiffServ and MBAC (or Dedicated QoS Network and MBAC)
There are several MBAC strategies for QoS control that can be characterised by the following factors:
1. The measured parameters: packet loss, jitter, IP header flag, for example Explicit Congestion notification (ECN)
2. The control method used may be one of:
                a. a percentage based restriction for the arriving calls/sessions;        b. rate controlling the incoming call/session setup rate (leaky bucket); or        c. aggregate control (window)        
A block all/admit all strategy may be used for QoS control. This type of measurement based CAC strategy uses measurements of packet loss in the network, and a simple predetermined threshold level to determine admission. Above this threshold (e.g. packet loss>1%), all incoming calls are rejected, whereas below this threshold, all incoming calls are accepted. This approach leads to a fast response time, but the system has no chance of finding a stable state, as the utilization of the controlled link oscillates heavily. A drawback of this reactive on/off type admission control approach (block all/admit all) is that it requires very frequent measurements in the network.
The block all/admit all strategy meets requirement 3, and partly meets requirement 1, 2 and 4 depending on the threshold level, and the frequency of the QoS performance measurements. Frequently taken measurements can be suitable for all of the requirements. However, increasing the frequency of the measurements can easily overload the edge nodes, and the response time of the system cannot be reduced below a theoretical limit.
An alternative strategy for QoS control is a quality category-based restriction factor adjustment. This involves measuring QoS performance indicators (such as jitter, packet loss), categorizing them into a discrete set of quality categories, and applying a restriction factor based CAC. Whenever a new call arrives, a check is made against the restriction factor r, which means that the probability of a new call being admitted to the network is 1−r. According to the quality categories, the algorithm can increase or decrease the restriction factor dynamically. In this case, the new r value is valid for the next measurement period.
This approach meets requirement 3, and can guarantee stability in the long run (requirement 1) or fast response time (requirement 2), depending on the configuration of the restriction change parameters.
Reaction speed and stability can be improved by introducing memory in the system effectively by using a matrix of restriction change parameters.
A disadvantage of a restriction factor based method is that it is vulnerable to changes in the external call arrival intensity. If the call intensity suddenly doubles, the admitted rate doubles as well for some measurement periods.
A further strategy is to use a token bucket instead of a restriction factor, which is capable of decreasing the call initiation capacity of the gateway, thus reducing call arrival intensity. Because the call holding time is unchanged, this reduces the number of ongoing calls to a given value as well.
Leaky bucket rate control can be used to avoid the drawbacks of the percentage based rate control, but introduces further complexity to the edge nodes.